package com.nuoniu.sibanyun.entity.expenses;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.nuoniu.sibanyun.common.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 费用中心-续费管理
 * </p>
 *
 * @author 小啊刚
 * @since 2022-05-09
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("expenses_property")
@ApiModel(value="ExpensesProperty对象", description="费用中心-续费管理")
public class ExpensesProperty extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "租户ID")
    @TableField("company_id")
    private Integer companyId;

    @ApiModelProperty(value = "资源ID(资源唯一标识)")
    @TableField("property_uuid")
    private String propertyUuid;

    @ApiModelProperty(value = "资源名称")
    @TableField("property_name")
    private String propertyName;

    @ApiModelProperty(value = "产品类型：基础产品 baseProduction  外呼套餐 callSetting 外呼坐席 callAgent")
    @TableField("production_type")
    private String productionType;

    @ApiModelProperty(value = "子产品ID")
    @TableField("production_id")
    private Integer productionId;

    @ApiModelProperty(value = "子产品名称")
    @TableField("production_name")
    private String productionName;

    @ApiModelProperty(value = "产品规格（具体产品参数）")
    @TableField("production_specifications")
    private String productionSpecifications;

    @ApiModelProperty(value = "续费方式 1：手动 2：自动")
    @TableField("renewal_type")
    private Integer renewalType;

    @ApiModelProperty(value = "到期时间")
    @TableField("end_time")
    private LocalDateTime endTime;

    @ApiModelProperty(value = "周期单位（年、月、日）")
    @TableField("renewal_unit")
    private String renewalUnit;

    @ApiModelProperty(value = "最小续费周期")
    @TableField("minimum_renewal_period")
    private Integer minimumRenewalPeriod;

    @ApiModelProperty(value = "最小续费周期单价")
    @TableField("minimum_renewal_period_price")
        private BigDecimal minimumRenewalPeriodPrice;

    @ApiModelProperty(value = "自动续费周期")
    @TableField("auto_renewal_period")
    private Integer autoRenewalPeriod;

    @ApiModelProperty(value = "自动续费金额")
    @TableField("auto_renewal_amount")
    private BigDecimal autoRenewalAmount;

    @ApiModelProperty(value = "状态 1:已生效 2.已失效 400.已废弃")
    @TableField("status")
    private Integer status;

    @ApiModelProperty(value = "业务订单IDs")
    @TableField("business_ids")
    private String businessIds;

    @ApiModelProperty(value = "最后一次业务订单ID")
    @TableField("last_business_order_id")
    private Long lastBusinessOrderId;



}
